home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1995 #5 & #6 / Amiga Plus CD - 1995 - No. 5 and 6.iso / tex / mf / inputs / passaulogos / unilogo65.mf < prev    next >
Text File  |  1994-06-09  |  4KB  |  131 lines

  1. %
  2. % this is file 'unilogo65mm.mf' written by Stefan Gastinger, August 1988.
  3.  
  4. %mode = CanonCX;
  5. mode_setup;
  6. special "grayfont grays";
  7.  
  8. numeric Faktor;        Faktor         := 1;
  9. numeric Rotation;    Rotation     := 0;
  10.  
  11. numeric Durchmesser#;    Durchmesser# := Faktor*68mm#;
  12. numeric PenThin#;    PenThin#     := 0.5*0.001*Durchmesser#;
  13. numeric PenThick#;    PenThick#    := 0.5*0.003*Durchmesser#;
  14. numeric PenXThick#;    PenXThick#   := 0.008*Durchmesser#;
  15. numeric PenXXThick#;    PenXXThick#  := 0.016*Durchmesser#;
  16. numeric CharWidth#;    CharWidth#   := Durchmesser#;
  17. numeric CharHeight#;    CharHeight#  := Durchmesser#;
  18. numeric Dummy#;        Dummy#         := 10mm#;
  19.  
  20. define_pixels( CharWidth, CharHeight );
  21. define_pixels( PenThin, Dummy );
  22. define_pixels( PenThick, Dummy );
  23. define_pixels( PenXThick, Dummy );
  24. define_pixels( PenXXThick, Dummy );
  25.  
  26. def Distance = (0.022*CharHeight) enddef;
  27.  
  28. numeric LetterHeight; LetterHeight := 0.107*CharHeight;
  29. numeric FigureHeight; FigureHeight := 0.94*(CharHeight-LetterHeight-Distance);
  30. numeric FigureWidth;  FigureWidth  := 0.94*(FigureHeight*145/245);
  31. numeric Radius;       Radius        := 0.5*(CharWidth-PenXThick);
  32.  
  33.  
  34. beginchar( "a", CharWidth#, CharHeight#, 0 );
  35.  
  36. input unilogos;
  37.  
  38. %%% Test-Makros:
  39.    %def   mode = draw enddef; 
  40.    %def unmode = draw enddef;
  41.     def   mode =   fill enddef;
  42.     def unmode = unfill enddef;
  43.  
  44. %%% Stift-Dicken:
  45.     def penthin    = pickup pencircle scaled PenThin    enddef;
  46.     def penthick   = pickup pencircle scaled PenThick   enddef;
  47.     def penXthick  = pickup pencircle scaled PenXThick  enddef;
  48.     def penXXthick = pickup pencircle scaled PenXXThick enddef;
  49.  
  50. %%% Drehen des Button um den Mittelpunkt:
  51.     CopySystem;
  52.     MoveSystem(  0.5*CharWidth,  0.5*CharHeight );
  53.     RotateSystem( Rotation, Rotation );
  54.     MoveSystem( -0.5*CharWidth, -0.5*CharHeight );
  55.  
  56. %%% Verschieben des Button zum Testen am Bildschirm:
  57.   %  MoveSystem( -30, -95 );
  58.  
  59. %%% Stift aufnehmen:
  60.     pickup pencircle;    
  61.  
  62. %%%%% Drawing Button %%%%%
  63. EnterSystem( (0.5*CharWidth,0.5*CharHeight), 1, Radius, 0, 1, Radius, 0 );
  64.    penXthick;    show reading file; input easycircle;
  65. LeaveSystem;
  66.  
  67.  
  68. %%%%% Drawing Figure %%%%%
  69. EnterSystem( (0.5*(CharWidth-FigureWidth), Distance ),
  70.          145, FigureWidth , 0,
  71.          245, FigureHeight, 0
  72.        );
  73.              show reading file; input filled;
  74.    penthin;    show reading file; input thin;
  75.    penthick;    show reading file; input thick;
  76.    penXthick;    show reading file; input Xthick;
  77.    penXXthick;    show reading file; input XXthick;
  78. LeaveSystem;
  79.  
  80. def Letter( expr w, h, r ) =
  81.     CopySystem;
  82.     MoveSystem( 0.5*CharWidth, 0.5*CharHeight );
  83.     RotateSystem( r, r );
  84.     MoveSystem( 0, (0.5*CharHeight)-LetterHeight-Distance );
  85.     SetInputScale ( w, h );
  86.     SetOutputScale( 0.95,0.95 );
  87.     SetOutputScale( LetterHeight/h*w/CharWidth, LetterHeight/CharHeight );
  88.     MoveSystem( -0.5*w, 0 );
  89.     show reading file; 
  90. enddef;
  91.  
  92. %%%%% Drawing Letters %%%%%
  93. numeric rot; rot = -1;
  94.  
  95.    penthick;
  96.    Letter( 145, 142,  142.0+rot ); input v; LeaveSystem;
  97.    Letter( 149, 142,  127.0+rot ); input n; LeaveSystem;
  98.    Letter(  64, 142,  115.0+rot ); input i; LeaveSystem;
  99.    Letter( 145, 142,  105.0+rot ); input v; LeaveSystem;
  100.    Letter( 125, 140,   92.0+rot ); input e; LeaveSystem;
  101.    Letter( 135, 139,   76.6+rot ); input r; LeaveSystem;
  102.    Letter(  97, 146,   62.4+rot ); input s; LeaveSystem;
  103.    Letter(  64, 142,   52.7+rot ); input i; LeaveSystem;
  104.    Letter( 123, 142,   42.2+rot ); input t; LeaveSystem;
  105.    Letter( 149, 146,   29.7+rot ); input a; LeaveSystem;
  106.    Letter(  97, 146,   14.6+rot ); input s; LeaveSystem;
  107.  
  108.    Letter( 116, 142,   -8.5+rot ); input p; LeaveSystem;
  109.    Letter( 149, 146,  -19.5+rot ); input a; LeaveSystem;
  110.    Letter( 123, 142,  -33.5+rot ); input t; LeaveSystem;
  111.    Letter( 149, 146,  -46.0+rot ); input a; LeaveSystem;
  112.    Letter( 145, 142,  -58.0+rot ); input v; LeaveSystem;
  113.    Letter(  64, 142,  -68.2+rot ); input i; LeaveSystem;
  114.    Letter( 125, 140,  -80.1+rot ); input e; LeaveSystem;
  115.    Letter( 149, 142,  -96.5+rot ); input n; LeaveSystem;
  116.    Letter(  97, 146, -110.0+rot ); input s; LeaveSystem;
  117.    Letter(  64, 142, -120.0+rot ); input i; LeaveSystem;
  118.    Letter(  97, 146, -131.0+rot ); input s; LeaveSystem;
  119.  
  120. %SystemInfo;
  121.  
  122. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  123.  
  124. endchar;
  125. %showit;
  126. end;
  127.  
  128.  
  129.  
  130.